import java.util.Arrays;
import java.util.Scanner;

public class BASIC28 {
    public static void main(String[] args) {
        Scanner in =new Scanner(System.in);
        int a=in.nextInt();
        int[] b=new int[a];
        for (int i = 0; i <a ; i++) {
            b[i]=in.nextInt();
        }
        for (int i = 0; i <a ; i++) {
            for (int j = 0; j <a-1 ; j++) {
                if(b[j]>b[j+1]){
                    int c=b[j];
                    b[j]=b[j+1];
                    b[j+1]=c;
                }
            }
        }
        int n=0;
        while (b.length!=1){
            n=n+b[0]+b[1];
            b[0]=b[0]+b[1];
            b[2-1]=b[b.length-1];//把最后一位数挪到b[2-1]的位置去，这样就空出最后一个位置可以进行删除了
            b= Arrays.copyOf(b, b.length-1);//删除最后一位数组后重组数组
            for (int i = 0; i <b.length ; i++) {
                for (int j = 0; j <b.length-1 ; j++) {
                    if(b[j]>b[j+1]){
                        int c=b[j];
                        b[j]=b[j+1];
                        b[j+1]=c;
                    }
                }
            }
        }
        System.out.println(n);
    }
}
